package com.hl.card.modular.pack.service;

import com.hl.card.common.util.ResponseObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;

/**
 * java类简单作用描述
 *
 * @ProjectName: newcard
 * @Package: com.hl.card.modular.pack.service
 * @ClassName: ${TYPE_NAME}
 * @Description: java类作用描述
 * @Author: 作者姓名
 * @CreateDate: 2018/8/4 16:37
 * @UpdateUser: Neil.Zhou
 * @UpdateDate: 2018/8/4 16:37
 * @UpdateRemark: The modified content
 * @Version: 1.0
 * <p>Copyright: Copyright (c) 2018</p>
 */
@FeignClient("card-package-award")
public interface RewardByCount {

    @PostMapping(value = "/api/rewardByCount")
    public ResponseObject doReward(@RequestParam("userId") String userId, @RequestParam("prodCode") String prodCode, @RequestParam("amount") String amount, @RequestParam("count") int count);

    @PostMapping(value = "/api/rewardByBatch")
    public ResponseObject doBatchReward(@RequestParam("userId") String userId, @RequestParam("prodCode") String prodCode, @RequestParam("amount") String amount, @RequestParam("count") int count, @RequestParam("mchOrderNo") String mchOrderNo);

    @PostMapping(value = "api/rewardWxCommunity")
    public ResponseObject doWxCommunityReward(@RequestParam("communityAdmin") String communityAdmin, @RequestParam("recommender") String recommender, @RequestParam("userId") String userId, @RequestParam("amount") String amount);

    @PostMapping(value = "/api/makeCommunityAward")
    public ResponseObject makeCommunityAward(@RequestParam("parentCode") String parentCode, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("orderId") String orderId);

    @RequestMapping(value = "/api/commonReward")
    public ResponseObject commonReward(@RequestParam("prodCode") String prodCode, @RequestParam("orderId") String orderId, @RequestParam("parentRecommender") String parentRecommender, @RequestParam("recommender") String recommender, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("unfreezeTime") String unfreezeTime);

    @RequestMapping(value = "/api/makeAwardByCount")
    public ResponseObject makeAwardByCount(@RequestParam("prodCode") String prodCode, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("orderId") String orderId, @RequestParam("count") int count);

    @RequestMapping(value = "/api/makeAward")
    public ResponseObject makeAward(@RequestParam("prodCode") String prodCode, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("orderId") String orderId);

    @RequestMapping(value = "/api/makeAwardManualUnfreeze")
    public ResponseObject makeAwardManualUnfreeze(@RequestParam("prodCode") String prodCode, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("orderId") String orderId, @RequestParam("unfreezeTime") String unfreezeTime);

    @RequestMapping(value = "/api/makeAdvanceAward")
    public ResponseObject makeAdvanceAward(@RequestParam("prodCode") String prodCode, @RequestParam("regCode") String regCode, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("count") int count);

    @RequestMapping(value = "/api/makeAdvanceAwardManualUnfreeze")
    public ResponseObject makeAdvanceAwardManualUnfreeze(@RequestParam("prodCode") String prodCode, @RequestParam("regCode") String regCode, @RequestParam("userId") String userId, @RequestParam("amount") String amount, @RequestParam("orderId") String orderId, @RequestParam("unfreezeTime") String unfreezeTime);
}
